package com.ts.api.module.product.service;

import com.ts.api.module.channel.entity.po.ChannelUserProductMatchPO;
import com.ts.api.module.product.entity.po.ProductUserMatchPO;
import com.ts.api.module.product.entity.qo.ProductPlanLimitQO;

import java.util.List;

/**
 *  用户机构计划业务层
 */
public interface ProductUserMatchService {

    /**
     *  根据计划查询对象查出当前计划进件总数
     *
     *  @param productPlanLimitQO   查询对象
     *  @return Integer
     */
    Integer countPlanApplyTotal(ProductPlanLimitQO productPlanLimitQO);

    /**
     *  获取用户已匹配的机构列表
     *
     *  @param  userId
     *  @return List
     */
    List<ProductUserMatchPO> listByUser(Long userId);

    /**
     *  根据userId搜索已匹配的记录
     *
     *  @param  userId
     *  @return List
     */
    List<ChannelUserProductMatchPO> listProductMatchByUserId(Long userId);

    /**
     *  根据userId搜索匹配的本地crm的记录
     *
     *  @param  userId
     *  @return List
     */
    List<ChannelUserProductMatchPO> listUserProductMatchLocalCrmByUserId(Long userId);

    /**
     *  插入用户匹配记录
     *
     *  @param  productId
     *  @return int
     */
    int insertUserProductMatch(Long productId);
}
